Skip to content

feat: implement card assign/unassign commands and edit flags#153

Open
brianevanmiller wants to merge 1 commit intoneedmore:mainfrom
brianevanmiller:brianevanmiller/card-task-assignment
Open

feat: implement card assign/unassign commands and edit flags#153
brianevanmiller wants to merge 1 commit intoneedmore:mainfrom
brianevanmiller:brianevanmiller/card-task-assignment

Conversation

@brianevanmiller
Copy link
Contributor

Summary

Complete the stubbed card assign and card unassign commands so users can manage card assignees from the CLI. Also add --assign/--unassign flags to card edit for non-interactive use.

  • bc4 card assign — Accepts positional args (@jane @john) and/or --assign flag, resolves users via UserResolver, merges with existing assignees (deduplicates)
  • bc4 card unassign — Same input flexibility, filters resolved users from existing assignees, handles edge cases (no assignees, users not assigned)
  • bc4 card edit --assign/--unassign — Adds --assign and --unassign string slice flags to the non-interactive mode, extending updateCardNonInteractive with merge/filter logic
  • Fix parseSince for "this week"/"last week" — Truncate to midnight (matching "today"/"yesterday" pattern), fixing a test that failed on Sundays
bc4 card assign 12345 @jane @john
bc4 card assign 12345 --assign user@example.com
bc4 card unassign 12345 @jane
bc4 card edit 12345 --assign @jane --unassign old@example.com

Test plan

  • make build succeeds
  • go vet ./... passes
  • go fmt ./... clean
  • go test ./... — all tests pass (including previously failing TestParseSince/this_week)
  • bc4 card assign --help, bc4 card unassign --help, bc4 card edit --help show correct flags/examples
  • Manual test: assign a user to a card, verify in Basecamp UI
  • Manual test: unassign a user, verify removal in Basecamp UI
  • Manual test: bc4 card edit ID --assign @user works in non-interactive mode

🤖 Generated with Claude Code

Complete the stubbed card assign and unassign commands, and add
--assign/--unassign flags to card edit's non-interactive mode.
Also fix parseSince "this week"/"last week" to truncate to midnight.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@brianevanmiller
Copy link
Contributor Author

@brigleb - give this a lookover when you get a chance, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant